1. Field of the Invention
The present invention pertains to post processing color data. More particularly, the present invention pertains to post processing possibly inaccurate color data to generate accurate color data.
2. Description of the Related Art
Processing and printing of color data has become an increasingly important area in both computer engineering and printing technology. Color data can currently be processed and printed on a wide variety of commonly available computer systems. Unfortunately, some computer based printing systems in common use do not provide high quality color prints. Color data printed by these conventional systems frequently have inaccurate color hues and excessive saturation values.
As an aid for understanding the limitations of conventional color data processing, it is desirable to describe here various concepts of color data processing. Color data typically is displayed on raster displays, such as the common cathode ray tube (CRT) monitor. The viewing surface of a raster display includes a rectangular array of picture elements (pixels). Each pixel comprises a smallest area on the display surface that can be assigned independent characteristics, such as color and radiant intensity. In typical displays, each pixel comprises a red R color dot, green G color dot, and blue B color dot, which when activated respectively emit red R, green G, and blue B light. The R, G, and B color dots of a pixel are in close proximity with one another so that light emitted from the color dots appears to mix. Consequently, by selectively varying the intensity of light emitted from each of the three color dots, the pixel can emit a broad range of colors over a broad range of radiant intensity.
To selectively control the appearance of a pixel, a color amount is produced for each color dot of the pixel. The color amounts can be represented in the form (r, g, b), where r controls illumination of the R color dot, g control illumination of the G color dot, and b controls illumination of the B color dot. The color amounts r, g, and b weight the amount of light to be emitted by color dots R, G, and B respectively. Such color amounts (r, g, b) are often referred to as RGB data. The totality of all possible color amounts for a given set of weighted colors forms a color space. Thus, for primary colors R, G, and B, the totality of possible color amounts (r, g, b) forms an RGB color space.
The RGB color space used for a particular display may reflect characteristics of that display. For example, the color amounts (r, g, b) for a CRT monitor typically have been raised by an exponent .gamma., where .gamma. is referred to a gamma value for the CRT monitor. This exponentiation by .gamma. allows the perceived brightness of the CRT monitor to change in a somewhat linear manner. That is, a fixed magnitude change in a color amount r, g, or b appears to yield the same increase in radiant intensity of R, G, or B light regardless of the magnitudes of the color amounts r, g, and b prior to the change.
Printing of colors described using RGB data is complicated because displayed colors are additive whereas printed colors are subtractive. Displayed colors are additive because when two colors are combined together (added on a display), the result is a third color having a frequency distribution which is approximately the sum of the frequency distributions of the two colors. The third color may also be brighter than the other two colors. Printed colors are subtractive because when a printed color is illuminated with light IL, the printed color absorbs a given frequency distribution FD of the light IL, and appears to have the color of that portion of light IL-FD which is reflected. Thus, a printed color can appear to change colors when the color of an illuminating light is changed. Further, combining two printed colors results in a darker third color.
To print color data, a processor converts color amounts for each pixel to colorant amounts for each pixel. Typically, the colorant amounts have the form (c, m, y, k) and respectively weight amounts of cyan (C), magenta (M), yellow (Y) and black (K) colorants. Such colorants are affixed to a printable medium to produce printed colors. The totality of all colorant amounts for a given set of colorants comprises a colorant space. C, M, Y, K are referred to as primary colorants of a CMYK colorant space. Usually, a distinct set of colorant amounts (c, m, y, k) is used for printing each pixel.
The colorant amounts (c, m, y, k) determined by some conventional systems are inaccurate. For example, when conversion from color amounts (r, g, b) to colorant amounts (c, m, y, k) is accomplished in accordance with the protocol set forth by the POSTSCRIPT.RTM. LEVEL 1 Language as specified by ADOBE SYSTEMS, INCORPORATED, printed colorant amounts sometimes look too gray and desaturated, particularly for printing photographic data. Further, the pure colors RGB and colorants CMY are not inverts of one another. Thus, green G displayed a monitor is much lighter than correspondence cyan C plus magenta M on a print. Further, a green G plus blue B color has a light cyan C appearance when displayed on a monitor but prints as a much darker and somewhat bluer cyan C.
It can be difficult to avoid such inaccurate color conversions when managing color data. For example, in CORELDRAW.RTM. from COREL, retaining the original RGB data typically cannot be accomplished, and the user conventionally must print inaccurate colorant amounts determined according to the POSTSCRIPT.RTM. LEVEL 1 conversion protocol, or use the color management system in CORELDRAW.RTM. which may not be appropriate for a given printer.
There is thus a continuing need for an improved system and method for converting between color data formats. Such system and method should be compatible with conventional systems, and preferably should be able to convert possibly inaccurate colorant amounts (c, m, y, k) obtained with conventional systems to accurate colorant amounts for printing color data. Further, such system and method should preferably be easy to operate by end users.